/*
package org.itheima.googleplay.http;

import com.lidroid.xutils.HttpUtils;

import org.itheima.googleplay.utils.FileUtils;
import org.itheima.googleplay.utils.IOUtils;
import org.itheima.googleplay.utils.LogUtils;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

*/
/**
 * Created by Administrator on 2016/5/23.
 *//*

public class CommonBaseProtocol<T> {

    private static final String	DIR			= "json";         // 生成的文件
    private static final long	DURATION	= 5 * 60 * 1000;  // 缓存的时间
    private HttpUtils utils;

    // 网络层，最重要的逻辑就是加载数据
    // T 是泛型，代表从不同地址中得到的数据类型
    public T loadData(int index) throws Exception
    {
        // (最开始无数据的时候从网络获取-》缓存到文件--》读缓存文件（有时间间隔，超过的话再去网络获取））
        // 1. 到缓存中去去
        T data = getDataFromLocal(index);
        if (data != null)
        {
            LogUtils.d("从缓存中取数据");
            return data;
        }

        // 2.去网络中去取数据
        LogUtils.d("从网络中取数据");
        return getDataFromNet(index);
    }

    private T getDataFromNet(int index) {
        return null;
    }

    private T getDataFromLocal(int index) throws Exception{
        // 存储缓存
        // 1.存储为文件 --->文件名的命名规范
        // ------> getKey() + "." + index + (paramters _key_value)
        // 2.文件内容的 --->文件内容中的规范
        // ------> 时间戳 + "\r\n" +json

        String name = getKey() + "." + index + getExtraName();
        File file = new File(FileUtils.getDir(DIR), name);

        // 如果文件不存在，说明本地没有缓存
        if (!file.exists()) { return null; }

        // 文件存在
        BufferedReader reader = null;
        try
        {
            reader = new BufferedReader(new FileReader(file));

            String timeString = reader.readLine();// 时间戳
            long time = Long.valueOf(timeString);

            if (time + DURATION < System.currentTimeMillis())
            {
                // 过期了
                return null;
            }

            String json = reader.readLine();// 读json
            return parseJson(json);
        }
        finally
        {
            IOUtils.close(reader);
        }
    }

    private T parseJson(String json) {
    }

    private String getKey() {
    }

}
*/
